package com.devops.service;

import com.devops.dto.LoginRequest;
import com.devops.dto.UserInfo;
import com.devops.entity.User;
import com.devops.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;

/**
 * 用户业务逻辑层
 */
@Service
public class UserService {
    
    @Autowired
    private UserMapper userMapper;
    
    @Autowired
    private PasswordEncoder passwordEncoder;
    
    /**
     * 用户登录验证
     * @param loginRequest 登录请求
     * @return 用户信息，如果登录失败返回null
     */
    public UserInfo login(LoginRequest loginRequest) {
        // 根据用户名查找用户
        User user = userMapper.findByUsername(loginRequest.getUsername());
        
        if (user == null) {
            return null; // 用户不存在
        }
        
        // 验证密码（这里使用明文比较，实际项目中应该使用加密密码）
        if (!user.getPassword().equals(loginRequest.getPassword())) {
            return null; // 密码错误
        }
        
        // 返回用户信息（不包含密码）
        return new UserInfo(
            user.getId(),
            user.getUsername(),
            user.getEmail(),
            user.getCreatedAt(),
            user.getUpdatedAt()
        );
    }
}
